﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.Text;
using System.Threading.Tasks;

namespace WFExtended.Twitter
{
    /// <summary>
    /// Media Properties
    /// </summary>
    [DataContract]
    public class MediaProperties
    {
        /// <summary>
        /// Gets or sets the display URL.
        /// </summary>
        /// <value>
        /// The display URL.
        /// </value>
        [DataMember(Name = "display_url")]
        public string DisplayUrl { get; set; }

        /// <summary>
        /// Gets or sets the expanded URL.
        /// </summary>
        /// <value>
        /// The expanded URL.
        /// </value>
        [DataMember(Name = "expanded_url")]
        public string ExpandedUrl { get; set; }

        /// <summary>
        /// Gets or sets the ID.
        /// </summary>
        /// <value>
        /// The ID.
        /// </value>
        [DataMember(Name = "id")]
        public long ID { get; set; }

        /// <summary>
        /// Gets or sets the ID string.
        /// </summary>
        /// <value>
        /// The ID string.
        /// </value>
        [DataMember(Name = "id_str")]
        public string IDString { get; set; }

        /// <summary>
        /// Gets or sets the indices.
        /// </summary>
        /// <value>
        /// The indices.
        /// </value>
        [DataMember(Name = "indices")]
        public int[] Indices { get; set; }

        /// <summary>
        /// Gets or sets the media URL.
        /// </summary>
        /// <value>
        /// The media URL.
        /// </value>
        [DataMember(Name = "media_url")]
        public string MediaUrl { get; set; }

        /// <summary>
        /// Gets or sets the media URL HTTPS.
        /// </summary>
        /// <value>
        /// The media URL HTTPS.
        /// </value>
        [DataMember(Name = "media_url_https")]
        public string MediaUrlHttps { get; set; }

        /// <summary>
        /// Gets or sets the sizes.
        /// </summary>
        /// <value>
        /// The sizes.
        /// </value>
        [DataMember(Name = "sizes")]
        public PhotoSizes Sizes { get; set; }

        /// <summary>
        /// Gets or sets the type.
        /// </summary>
        /// <value>
        /// The type.
        /// </value>
        [DataMember(Name = "type")]
        public string Type { get; set; }

        /// <summary>
        /// Gets or sets the URL.
        /// </summary>
        /// <value>
        /// The URL.
        /// </value>
        [DataMember(Name = "url")]
        public string Url { get; set; }
    }
}
